package com.gitee.kenewstar.migration.service.migration;


import com.gitee.kenewstar.migration.entity.Lov;
import com.gitee.kenewstar.migration.entity.LovTl;
import com.gitee.kenewstar.migration.entity.LovValue;
import com.gitee.kenewstar.migration.entity.LovValueTl;
import com.gitee.kenewstar.migration.entity.LovViewHeader;
import com.gitee.kenewstar.migration.entity.LovViewHeaderTl;
import com.gitee.kenewstar.migration.entity.LovViewLine;
import com.gitee.kenewstar.migration.entity.LovViewLineTl;
import com.gitee.kenewstar.migration.entity.CommonResult;

import java.util.List;
import java.util.Map;

/**
 * @author kenewstar
 */
public interface LovMigrationService {


    List<CommonResult> lovMigration(List<String> lovCodeList, Long tenantId);

    void singleLovMigration(Lov lov,
                            Map<Long, List<LovTl>> lovTlListMap,
                            Map<Long, List<LovValue>> lovValueListMap,
                            Map<Long, List<LovValueTl>> lovValueTlsMap);

    List<CommonResult> lovViewMigration(List<String> lovViewCodeList, Long tenantId);

    void singleLovViewMigration(LovViewHeader header,
                                Map<Long, Long> devUatLovMap,
                                Map<Long, List<LovViewHeaderTl>> headerTlsMap,
                                Map<Long, List<LovViewLine>> lineMap,
                                Map<Long, List<LovViewLineTl>> lovViewLineTlsMap);

    List<CommonResult> excelLovMigration(List<Lov> lovList);

    List<CommonResult> excelLovViewMigration(List<LovViewHeader> viewHeaderList);


}
